package me.zhengjie.modules.houseshow.service;

import me.zhengjie.base.PageInfo;
import me.zhengjie.base.CommonService;
import me.zhengjie.modules.houseshow.domain.HouseShow;
import me.zhengjie.modules.houseshow.domain.vo.GlobalVo;
import me.zhengjie.modules.houseshow.domain.vo.PanoramaVo;
import me.zhengjie.modules.houseshow.service.dto.HouseShowDto;
import me.zhengjie.modules.houseshow.service.dto.HouseShowQueryParam;
import org.springframework.data.domain.Pageable;
import java.util.List;
import java.util.Set;

/**
* @author TianI
* @date 2021-12-24
*/
public interface HouseShowService extends CommonService<HouseShow>  {

    static final String CACHE_KEY = "houseShow";

    /**
     * 查询数据分页
     * @param query 条件
     * @param pageable 分页参数
     * @return PageInfo<HouseShowDto>
     */
    PageInfo<HouseShowDto> queryAll(HouseShowQueryParam query, Pageable pageable);

    /**
     * 查询所有数据不分页
     * @param query 条件参数
     * @return List<HouseShowDto>
     */
    List<HouseShowDto> queryAll(HouseShowQueryParam query);

    HouseShow getById(Long id);
    HouseShowDto findById(Long id);

    /**
     * 插入一条新数据。
     */
    int insert(HouseShowDto resources);
    int updateById(HouseShowDto resources);
    int removeById(Long id);
    int removeByIds(Set<Long> ids);

    GlobalVo getGlobalById(String hsId);

    PanoramaVo getPanoramaById(String hsId);



    /**
     * 导出数据
     * @param all 待导出的数据
     * @param response /
     * @throws IOException /
     */
    // void download(List<HouseShowDto> all, HttpServletResponse response) throws IOException;
}
